<!DOCTYPE html>
<html>
<head>
<script src="../../resources/run-after-layout-and-paint.js"></script>
<script>
function test()
{
    if (window.testRunner) {
        testRunner.waitUntilDone();
        testRunner.dumpAsText();
    }
    runAfterLayoutAndPaint(finish);
}

function finish()
{
    var innerLayer = document.getElementById('innerLayer');
    innerLayer.style.left = '19px';
    innerLayer.style.top = '23px';
    if (window.testRunner)
        testRunner.notifyDone();
}
</script>
<style>
/* nodes that have layers and are containers for their children */
.a { outline: solid blue 1px }

/* nodes that have layers but are not containers for their children */
.b { outline: solid red 1px }

/* nodes that do not have layers */
.c { outline: solid green 1px }
</style>
</head>
<body onload="test()">
  Test where some nodes have layers (because of overflow or transparency) but are not the containing block for their children.
  The test passes if it completes without failing any assertions in Debug mode.
  <div>
    <div style="opacity: 0.8; height:40px" class="b">
      <div style="height:30px" class="c"></div>
      <div style="position:absolute; left:5px; top:5px; height:20px" class="c" id="innerLayer">
         <div style="overflow:hidden; height:13px" class="b"></div>
         <div style="height:6px" class="c"></div>
         <div style="position:relative; top:60px" class="a">
           <div style="height:30px" class="c"></div>
         </div>
         <div style="overflow:hidden; height:13px" class="b">
         </div>
      </div>
    </div>
  </div>
</body>
</html
